home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / Documents / PressReleases94 / 06June94 / IBMole.txt < prev    next >
Text File  |  1995-06-12  |  2KB  |  49 lines

  1.  
  2. 6/14/94 Intuitive Edge announces the IBMole!
  3.  
  4. First and formost:
  5.          Many thanks to Timothy Bissel for the excellent Mole.tiff!
  6.  
  7. The IBMole is now available at
  8.  
  9.          ftp://ftp.cs.orst.edu/pub/next/binaries/objects/.
  10.  
  11. The IBMole is a palette which publishes InterfaceBuilder's NXApp
  12. variable as a distributed object.  From there you can get a list
  13. of the documents open in IB and the objects which lie therein, and
  14. then manipulate them programmatically.  I've used it to do things
  15. like change stringValues in TextFields in IB and coerce 800+
  16. SmartFields into TextFields (while preserving connections).  You
  17. can do anything that you would be able to do from within IB, only
  18. you are on the outside.
  19.  
  20. I typically write short ugly C programs which iterate thru the
  21. objects and do whatever is needed.  I have included a couple to
  22. get you started.  Until IB has an ASCII format, this is the only
  23. way I know of to modify nibs programmatically.
  24.  
  25. I haven't explored using the current selection or playing with
  26. connections in IB yet.  I don't see why it isn't possible though...
  27.  
  28. Caveat Emptor:  Using the mole changes things behind IB's (and all
  29. of its palettes') back.  It would be really easy to screw up
  30. something and obliterate your nib file.  Although I haven't done
  31. that I did run into a problem that looked like that:  For a particular
  32. palette I was using when I did a saveAll it was relying on using
  33. the currentDocument in its archiving scheme and would appear to
  34. lose some of its connections until it was saved while it was the
  35. current document.  That one really threw me for a loop and is one
  36. of the myriad reasons why it took so long to get this onto the net.
  37. The other reasons include changing jobs and moving 2500 miles....
  38.  
  39. About using the mole, it is really a bad idea to try and send a
  40. message that an object may not understand.  You will usually end
  41. up with a Distributed Object Exception 11013 or some such number.
  42. I always test to be sure that the object I'm manipulating responds
  43. to the message I'm trying to send.
  44.  
  45. I can be reached as monty@IntuitiveEdge.com should you have any
  46. questions or real cool scripts that use the IBMole...
  47.  
  48. Enjoy!
  49.